package controller;

import java.util.List;
import model.ArtikelFilm;

/**
 * Met deze klasse hebben we een controller laag aangebracht tussen de view en
 * de persistentie laag van de database van de centrale database. 
 * Het scheiden van view en controller vereenvoudigd de koppelbaarheid, maakt het
 * makkelijk uitbreidbaar en verhoogd de onderhoudbaarheid.
 *
 */
public class ControlPanelKlant {

    private final int vestigingID = 1;
    private DatabaseControllerKlant dbc = null;

    public ControlPanelKlant() {
        dbc = new DatabaseControllerKlant();
    }

    /**
     * Methode maakt zoeken in de centrale database met parameter titel mogelijk.
     * @param titel
     * @return
     */
    public ArtikelFilm zoekenOpFilm(String titel) {
        return dbc.zoekenOpFilm(titel);
    }

    /**
     * Methode maakt zoeken in de centrale database met parameter titel mogelijk.
     * @param titel
     * @return List van alle Artikefilms die voldoen aan criteria.
     */
    public List<ArtikelFilm> zoekenOpFilmTitel(String titel) {
        return dbc.zoekenOpFilmTitel(titel);
    }

    public int getVestigingID() {
        return vestigingID;
    }

    /**
     * Methode maakt toevoegen van artikel mogelijk aan centrale database.
     * @param a
     * @return 
     */
    public String toevoegenArtikel(ArtikelFilm a) {
        return dbc.insertArtikel(a);
    }

}
